"""
    99乘法表
"""

# 1.把乘法表左上角考虑成（1，1）坐标点，每个表达式 等于 row * col
# 2.输出是一行一行输出的，所有每一行输出后需要换行
# 3.每一行的行号，就是列从1到行号的循环
# 4.为格式化输出使用占位
'''for的99'''
# 第一种
# 生成一到九的数遍历
for row in range(1, 10):
    # 生成1到row+1的整数，并遍历
    for col in range(1, row + 1):
        # 输出乘法表
        print('{}*{}={:<4}'.format(row, col, row * col), end=' ')
    # 打完一行换一行
    print('')
# 分割线
print('')
print('*' * 80)
print('')

# 第二种
# 遍历九到一的数并遍历
for row in range(9, 0, -1):
    # 生成一到row+1的数并遍历
    for col in range(1, row + 1):
        # 输出乘法表
        print('{}*{}={:<4}'.format(row, col, row * col), end=' ')
    # 打完一行换一行
    print('')
# 分割线
print('')
print('*' * 80)
print('')

# 第三种
# 生成9到1的数
for i in range(9, 0, -1):
    # 生成1到8的数
    for j in range(1, i):
        # 用空格来填充
        print('{:<8}'.format(''), end='')
    # 生成10减i到1的数
    for j in range(10-i, 0, -1):
        # 输出乘法表
        print('{}*{}={:<4}'.format(j, i, i * j), end='')
    # 换行
    print('')
# 分割
print('')
print('*' * 80)
print('')

# 生成 9 到 1 的数
for i in range(9, 0, -1):
    # 生成 9-i 到 1 个数  ，控制空格的输出
    for j in range(9-i, 0, -1):
        # 输出空格
        print('{:<8}'.format(''), end='')
    # 生成 i 到 1 的数
    for j in range(i, 0, -1):
        # 输出表达式
        print('{}*{}={:<4}'.format(j, i, j*i), end='')
    # 换行
    print()
